package cn.jbolt.core.service;

import cn.jbolt.core.bean.JBoltDateRange;
import cn.jbolt.core.db.sql.Sql;
import cn.jbolt.core.model.LoginLog;
import cn.jbolt.core.service.base.JBoltBaseService;
import com.jfinal.plugin.activerecord.Page;

import java.util.Date;

/**
 * 登录日志记录
 * @ClassName:  LoginLogService
 * @author: JFinal学院-小木 QQ：909854136
 * @date:   2020年5月12日
 */
public class JBoltLoginLogService extends JBoltBaseService<LoginLog> {
	protected LoginLog dao=new LoginLog().dao();
	@Override
	protected LoginLog dao() {
		return dao;
	}

	/**
	 * 登录日志管理查询
	 * @param pageNumber
	 * @param pageSize
	 * @param keywords
	 * @param dateRange
	 * @return
	 */
	public Page<LoginLog> paginateAdminList(Integer pageNumber, Integer pageSize, String keywords, JBoltDateRange dateRange) {
		Sql sql = selectSql().page(pageNumber,pageSize).betweenDateRange("create_time",dateRange);
		sql.like("username",keywords);
		sql.orderById(true);
		return paginate(sql);
	}

	/**
	 * 更新登录日志是否是异常异地登录
	 * @param log
	 * @param isRemoteLogin
	 */
	public void updateIsRemoteLogin(LoginLog log, boolean isRemoteLogin) {
		log.setIsRemoteLogin(isRemoteLogin);
		log.update();
	}

	@Override
	protected int systemLogTargetType() {
		return 0;
	}

}
